@import "../../css/units.css";
@import "../../css/colors.css";

.page-wrapper {
    height: 100%;
}

.body-wrapper {
    height: calc(100% - $menu-bar-height);
    background-color: $ui-background-blue;
}

.flex-wrapper {
    display: flex;

    /*
        Make 2 columns:
        a) for the blocks + workspace panes, and
        b) for combined stage menu + stage + sprite/stage selectors
    */
    flex-direction: row;
    height: 100%;

    /*
        Stop scrollbar popping in and out from scratch-blocks border issue
        https://github.com/LLK/scratch-gui/issues/318
    */
    overflow-y: hidden;
}

.editor-wrapper {
    flex-basis: 600px;
    flex-grow: 1;
    flex-shrink: 0;
    position: relative;

    display: flex;
    flex-direction: column;
}

.tab-list {
    height: $stage-menu-height;
    width: 250px; /* Match width of the toolbox */
    display: flex;
    align-items: flex-end;
    flex-shrink: 0;

    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 500;
    font-size: 0.80rem;

    /* Overrides for react-tabs styling */
    margin: 0 !important;
    border-bottom: 0 !important;
}

.tab {
    flex-grow: 1;
    height: 80%;
    margin-left: 1px;

    border-radius: $space $space 0 0;
    border: none;

    background-color: #F6F8FA;
    color: #9AA1B5;

    display: flex;
    justify-content: center;
    align-items: center;
}

.tab.is-selected {
    z-index: 1;
    color: #40B9F5;
    background-color: #FFFFFF;
    border-bottom: white 1px solid;
}

.tabs {
    position: relative;
    flex-grow: 1;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}

.tab-panel {
    position: relative;
    flex-grow: 1;
    flex-shrink: 0;
    display: none;
}

.tab-panel.is-selected {
    display: flex;
}

.blocks-wrapper {
    flex-grow: 1;
    position: relative;
}

.stage-and-target-wrapper {
    /*
        Makes rows for children:
          1) stage menu
          2) stage
          3) sprite/stage selectors
        Only reason we need this, is so .targetWrapper, which holds the selectors,
        goes to full vertical height of the window
    */
    display: flex;
    flex-direction: column;

    /* Fix the max width to max stage size (defined in layout_constants.js) + gutter size */
    max-width: calc(480px + calc($space * 2));
}

.stage-wrapper {
    padding-left: $space;
    padding-right: $space;

    /* Hides negative space between edge of rounded corners + container, when selected */
    user-select: none;
}

.target-wrapper {
    display: flex;
    flex-grow: 1;
    flex-basis: 0;

    padding-top: $space;
    padding-left: $space;
    padding-right: $space;

    /*
        For making the sprite-selector a scrollable pane
        @todo: Not working in Safari
    */
    overflow: hidden;
}

.stage-menu-wrapper {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    height: $stage-menu-height;
    padding: $space;
}

.extension-button-container {
    width: 3.25rem;
    height: 3.25rem;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 50; /** Force extension button above the ScratchBlocks flyout. */
    background: white;

    border: 1px solid #ddd;
    box-sizing: content-box; /* To match scratch-block vertical toolbox borders */
}

.extension-button {
    font-size: 0.55rem;
    font-weight: bold;
}
.extension-button > div {
    margin-top: 0;
}
